# -*- coding: utf-8 -*-

from hlm.base import ObjectDict


# Defines the HANA hardware specifications.
def generate_objdict(raw_dict: dict):
    # Create an Object dictionary.
    objdict = ObjectDict()
    for var_key in raw_dict:
        setattr(objdict, var_key, raw_dict[var_key])
    return objdict


VARS = generate_objdict(
    {'base': 0,
     'main_memory': 1,     # Number of main memory controller
     'multiplexer': 32,    # Memory multiplexer (Sim Only)
     'num_of_peer': 16,    # Number of Peers.
     'group_size': 4,      # Number of Peer at each level.
     'num_of_alu': 4,      # Number of ALU in each Peer.
     'alu_offset': 128,    # ALU private space offset
     })